Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

270
Visualizações
aws ecr dice "No se puede realizar un inicio de sesión interactivo desde un dispositivo que no sea TTY" después de copiar el cmd de "Amazon Container Services"

Estoy tratando de configurar la imagen de la ventana acoplable de Amazon ECR en la máquina ubuntu18.04 de AWS, utilizando los comandos proporcionados por los comandos view push commands de Amazon Container Services ver los comandos push de los servicios de contenedores de Amazon

, tenga en cuenta que ya configuré docker en mi ubuntu18.04 y también la salida de docker -v es la siguiente

 ubuntu@ip-172-31-0-143:~$ docker -v Docker version 19.03.7, build 7141c199a2

Cuando ejecuto el comando proporcionado por Amazon Container Services en aws cli en ubuntu18.04, aparece el error Error: No se puede realizar un inicio de sesión interactivo desde un dispositivo que no es TTY

El comando que estoy usando es

 aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin 8233251134332.dkr.ecr.us-east-2.amazonaws.com/gatling-lots

tenga en cuenta que configuré correctamente awscli y puedo ver los detalles de aws s3 ls

Aquí está el registro de errores detallado

 ubuntu@ip-172-31-0-143:~$ aws ecr get-login-password --region us- east-2 | docker login --username AWS --password-stdin 823443336.dkr.ecr.us-west-2.amazonaws.com/gatling-lots usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help aws: error: argument operation: Invalid choice, valid choices are: batch-check-layer-availability | batch-delete-image batch-get-image | complete-layer-upload create-repository | delete-lifecycle-policy delete-repository | delete-repository-policy describe-images | describe-repositories get-authorization-token | get-download-url-for-layer get-lifecycle-policy | get-lifecycle-policy-preview get-repository-policy | initiate-layer-upload list-images | put-image put-lifecycle-policy | set-repository-policy start-lifecycle-policy-preview | upload-layer-part get-login | help Error: Cannot perform an interactive login from a non TTY device

salida de

 ubuntu@ip-172-31-0-143:~$ (aws ecr get-login --no-include-email --region us-east-2) docker login -u AWS -p MzQxL2c0Yks4RjVxeDg9IiwidmVyc2lvbiI6IjIiLCJ0eXBlIjoiREFUQV9LRVkiLCJleHBpcmF0aW9uIjoxNTgzNjgzNDY5fQ== https://825251119036.dkr.ecr.us- east-2.amazonaws.com
over 4 years ago · Santiago Trujillo
12 Respostas
Responde à pergunta

0

Debe instalar AWS CLI versión 2. Siga las instrucciones en este enlace

over 4 years ago · Santiago Trujillo Relatório

0

El problema no es aws sino docker. La solución está en la ventana acoplable para usar el parámetro -p y ajustar la llamada de inicio de sesión de aws al parámetro -p como tal:

 docker login -u AWS -p $(aws ecr get-login-password --region the-region-you-are-in) xxxxxxxxx.dkr.ecr.the-region-you-are-in.amazonaws.com

Y esto requiere AWS CLI versión 2.

over 4 years ago · Santiago Trujillo Relatório

0

Los pasos a continuación son para resolver ese problema.

 $curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install $aws --version aws-cli/2.0.30 Python/3.7.3 Linux/4.14.181-142.260.amzn2.x86_64 botocore/2.0.0dev34 $aws ecr get-login-password --region your_region | docker login --username AWS --password-stdin Account_ID.dkr.ecr.your_region.amazonaws.com

Reemplace su Account ID y Region .

over 4 years ago · Santiago Trujillo Relatório

0

Este comando hace el truco en bash y Linux el 2020/10/06:

linux@host:~$ $(aws ecr get-login --no-include-email)

Eso es porque

$ aws ecr get-login --no-include-email

Da la siguiente salida:

docker login -u AWS -p xxxxxxxxxxxxx== https://xxx.dkr.ecr.eu-west-1.amazonaws.com

over 4 years ago · Santiago Trujillo Relatório

0

La respuesta de Devin es correcta.

Pero hay una forma más. La versión actualizada de docker requiere este parámetro --password-stdin .

 aws ecr get-login-password --region <YOUR_REGION> | docker login --username AWS --password-stdin <ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com
over 4 years ago · Santiago Trujillo Relatório

0

me tomó una eternidad darme cuenta de que el problema era que olvidé ejecutar aws configure e ingresar los detalles correctos. Eso resolvió mi problema.

over 4 years ago · Santiago Trujillo Relatório

0

Recuerde también que no puede iniciar sesión en regiones particionadas ( cn-* o gov ) mientras utiliza un perfil de AWS no particionado. Agregue --profile foo para especificar un perfil con su región designada.

over 4 years ago · Santiago Trujillo Relatório

0

El inicio de docker login imprime este mensaje de error cuando usa --password-stdin , pero en realidad no envía una contraseña a la entrada estándar del comando.

Por ejemplo:

 $ echo "" | docker login --password-stdin --username jorendorff Error: Cannot perform an interactive login from a non TTY device

Por lo tanto, casi cualquier tipo de problema con el comando antes del | El símbolo de tubería dará como resultado este mensaje de error inútil.

over 4 years ago · Santiago Trujillo Relatório

0

En mi caso, olvidé agregar la política relacionada con ECR en mi IAM de AWS. Para agregar una política, siga estos pasos .

over 4 years ago · Santiago Trujillo Relatório

0

El problema que encontré es AWS CLI v1 vs AWS CLI v2. Resolví esto desinstalando v1 e instalando AWS CLI v2.

over 4 years ago · Santiago Trujillo Relatório

0

No te preocupes en este caso. Simplemente escriba 'aws configure' en su terminal y pegue las credenciales de seguridad como 'aws_access_key_id' y 'aws_secret_access_key' y luego escriba la región del repositorio y el formato de salida como 'json'.

Funcionó para mí.

over 4 years ago · Santiago Trujillo Relatório

0

Sé que esta pregunta ya está respondida, pero esta fue mi experiencia.

Esto no funcionó para mí inicialmente.

aws ecr get-login-password --region <your-region>| docker login --username AWS --password-stdin <your-container>

Tenía AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY guardados en variables en GitLab.

Pero la solución fue desmarcar la bandera Protected de las variables guardadas en GitLab. No sé qué tan seguro es este enfoque, pero funcionó para mí.

Espero que esto ayude a alguien algún día.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda